package com.iwhalecloud.citybrain.flow.platform.manager.application.service;

import java.util.List;

import org.flowable.engine.delegate.DelegateExecution;

/**
 * @author lilh
 * @date 2020/11/6 09:34
 */
public interface FlowUserTaskExpressionResolverService {

    /**
     * 解析处理人
     *
     * @param execution 当前执行环境
     * @return 处理人id
     */
    String resolveAssignee(DelegateExecution execution);

    /**
     * 解析待办人集
     *
     * @param execution 当前任务执行环境
     * @return 待办人集合id
     */
    List<String> resolveCandidateUsers(DelegateExecution execution) throws Exception;

    /**
     * 解析候选组
     *
     * @param execution 当前执行环境
     * @return 候选组集合id
     */
    List<String> resolveCandidateGroups(DelegateExecution execution) throws Exception;
}
